//
//  BBNodeViewFactory.h
//  xNose
//
//  Created by ben smith on 12/09/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>

@class BBCollectionNodeView;
@class BBLeafNodeView;
@class BBNodeView;
@class BBNode;
@class BBContainerNodeView;

// this object is responsible for much of the inter-node view layout

@interface BBNodeViewFactory : NSObject {

}

+ (BBCollectionNodeView*)collectionViewForNode:(BBNode*)aNode;;
+ (BBContainerNodeView*)containerViewForNode:(BBNode*)aNode;;
+ (BBLeafNodeView*)leafViewForNode:(BBNode*)aNode;;
+ (BBNodeView*)viewForNode:(BBNode*)aNode;
+ (NSRect)connectionButtonRectForView:(BBNodeView*)aView;
+ (NSRect)frameForNode:(BBNode*)aNode;
+ (float)maxHeightForNode:(BBNode*)aNode;
+ (float)viewHeightForNode:(BBNode*)aNode;
+ (void)loadNodes:(BBNode*)parent intoView:(NSView*)hostView;
+ (void)resetContainer:(BBContainerNodeView*)containerView animate:(BOOL)animate;
+ (void)setNodePositionsInContainer:(BBNode*)container;

// 11 methods



@end
